1. Field of the Invention
The invention relates to telecommunications, and in particular, to systems, methods, and software for dynamic jitter buffer calibration in telecommunication networks.
2. Description of the Prior Art
It is commonly known that jitter buffers are located at the end points of most packet communication paths used for real-time applications. For example, jitter buffers are implemented in media gateways and SIP phones. Jitter buffers are also implemented at customer premise equipment, and interim network devices. Jitter buffers are used to reduce the effects of variable latency or delay in packet communication paths. Given the live nature of real-time applications, jitter buffer operations have a large affect on the quality of real-time applications. For example, an end user could experience either a gap in the operation of or a complete cessation of a real-time application as a result of packet jitter.
Jitter buffers can be static or dynamic. Static jitter buffers are pre-configured with a particular size that does not change during operation. When a static jitter buffer becomes congested, packets are simply dropped. Dynamic jitter buffers can be automatically reconfigured to accommodate higher traffic patterns. Dynamic jitter buffers are sometimes referred to as adaptive jitter buffers.
Unfortunately, prior art implementations of dynamic jitter buffers involve high cost protocol analysis methods that require processor intensive operations. For example, some systems utilize impulse driven time series models. In this system, a computer simulation of a network is created to estimate jitter. However, this system does not perform real-time buffer maintenance. In another example, a mean deviation from the short term average delay is calculated to produce a histogram that can be used to determine periods for which jitter would exceed acceptable levels. Unfortunately, this solution is very processor intensive. Lastly, another solution measures the discard rate and adjusts the size of a jitter buffer based on the discard rate. This solution is reactive, rather than pro-active. It would be desirable to dynamically calibrate jitter buffers in an efficient, real-time, and pro-active manner.